package com.sx.netty.nio.Demo01;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
 * @Author ShuXin
 * @Description netty客户端的编写
 * @Date 2020/11/5 10:21
 */
public class NIOClient {
    public static void main(String[] args) throws Exception{
//        获取一个网络通道
        SocketChannel socketChannel = SocketChannel.open();
//        设置成非阻塞
        socketChannel.configureBlocking(false);
//        提供连接服务器的ip和端口
        InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 6666);
//        判断是否连接上服务器
        if(!socketChannel.connect(socketAddress)){
            while(!socketChannel.finishConnect()){
                System.out.println("因为连接需要时间，客户端不会阻塞，可以做其他工作...");
            }
        }
//        如果连接成功，就发送数据
        String str = "Hello,树先生";
//        Wraps a byte array into a buffer
        ByteBuffer byteBuffer = ByteBuffer.wrap(str.getBytes());
//        发送数据，将buffer中的数据写入channel
        socketChannel.write(byteBuffer);
        System.in.read();
    }
}
